1. Field of the Invention
The present invention generally relates to the field of data processing and computerized systems and methods for task modeling. More particularly, the invention relates to computerized systems and methods for providing task models that are adaptive and executable at runtime.
2. Background Information
Computers and software solutions have been developed to organize activities and ensure that the necessary steps are performed to achieve a desired result or goal. For example, users may follow instructions from a computerized system or method. Such solutions may also be used to perform calculations necessary to solve a problem and/or to control commercial machinery or other equipment. Further, for more complex activities, these solutions may be used to assist users to accomplish tasks by organizing and prioritizing the steps needed to achieve a goal.
Activities related to a goal may be defined in terms of tasks. A task may describe an action or event necessary to reach the goal. In general, tasks may relate to actions or events performed by users, systems, objects in a user's environment, and/or other entities needed to accomplish the goal.
Conventionally, task models have been used to capture and organize a set of tasks a user needs to perform in order to achieve a defined goal. Task models may define relationships and dependencies between tasks in a task model. For example, a task model may be defined that allows a customer to purchase a good at a store. The tasks in such a task model may include, for example, greeting the customer, obtaining a good, entering an order, displaying the order on an employee's screen, displaying a total on a customer screen, and completing the transaction. The task model may also define the relationships between the tasks, such as the order in which they should be processed to accomplish the goal of selling a good to the customer.
Current task models define the relationship between tasks at design time. These task models attempt to define tasks and the relationship between tasks during the development phase. In some solutions, the task model, tasks, and relationships between the tasks are embedded into a software application, making later execution of the application static or concrete.
However, static task models require all of the tasks and information to be compiled into the application and user interface during design. This is difficult to accomplish because users have varying desires and preferences. Different users may desire separate features in an application or a customized layout of a user interface. As a result, system designers utilize expansive resources trying to predict the future needs of a user and develop task models to accommodate these needs.
Because current task models and solutions cannot adapt to specific circumstances and the varying desires of users, flexibility is lost. Additionally, current static task models provide a fixed user interface. If a user does not like the user interface or if the interface becomes obsolete, the user may reject the entire application and choose another vendor.
In view of the foregoing, there is a need for computer-implemented systems and methods that provide a dynamic and context aware user interface for task modeling. Dynamic solutions of this type are also needed for monitoring interactions with a task model at runtime. Further, dynamic task modeling systems and methods are needed that allow applications and task models to adapt to the actions of a user. In this way, production of applications may be simplified by providing applications and task models that may be customized by users having varying needs.